using System;
namespace ProgrammingLanguageNr1
{
	public class Token
	{
		public enum TokenType { 
			
			NO_TOKEN_TYPE, 
			EOF, NEW_LINE, COMMA,
			NAME, OPERATOR,  NUMBER, QUOTED_STRING, FUNCTION_CALL,
			PARANTHESIS_LEFT, PARANTHESIS_RIGHT, 
			BLOCK_BEGIN, BLOCK_END, 
			IF, ELSE,
			ASSIGNMENT,
			STATEMENT_LIST, 
			VAR_DECLARATION, FUNC_DECLARATION,
			PARAMETER_LIST, PARAMETER,
			RETURN
			
		};
		
		public Token (TokenType tokenType, string tokenString)
		{
			m_tokenType = tokenType;
			m_tokenString = tokenString;
		}
		
		public TokenType getTokenType() { return m_tokenType; }
		public string getTokenString() { return m_tokenString; }
		
		public int LineNr {
			set {
				m_lineNr = value;
			}
			get {
				return m_lineNr;
			}
		}
		
		public int LinePosition {
			set {
				m_linePosition = value;
			}
			get {
				return m_linePosition;
			}
		}
		
		TokenType m_tokenType;
		string m_tokenString;
		int m_lineNr;
		int m_linePosition;
	}
}

